package practic;

public class tiaozhengstr {
    public static void main(String[] args) {
        /*字符串A，B
        A的旋转操作是把A最左边的字符移到最右边，
        如：A="abcde",移动一次后就是”bcdea“
        如果若干次后A能变成B，返回True；否则返回false
         */

        String str1="abcde";
        String str2="bcdea";

        //旋转
        boolean result=check(str1,str2);

        System.out.println(result);


    }

    //循环旋转
    public static boolean check(String str1,String str2){
        for(int i=0;i<str1.length();i++){
            str1=rotate2(str1);
            if(str1.equals(str2)){
                return true;
            }
        }return false;
    }

    public static String rotate1(String str){
        //1.用subString截取左边的放到右边

        char first=str.charAt(0);
        String end=str.substring(1);
        return end+first;
    }

    //2.先把字符串变成一个字符数组，然后调整里面的数据，最后再把字符数组转换成字符串
    public static String rotate2(String str){

        char[] arr=str.toCharArray();//string直接转字符数组
        char first=arr[0];
        for(int i=1;i<arr.length;i++){
            arr[i-1]=arr[i];
        }
        arr[arr.length-1]=first;

        String result=new String(arr);//数组转字符串

        return result;
    }
}
